Today's premium telephone services provide much more than just voice. Features, such as voice mail, address books, contact specific ringtones, and customized diversion of incoming calls are common in a telephone service today. With the advent of voice over Internet protocol (VoIP), voice networks are becoming more and more integrated with data networks. Although VoIP started out as a by-product of cheap and high trunk bandwidth provided by Internet service providers (ISPs), it has now become a standard application offered by service providers. However, most service providers use centralized servers to provide VoIP voice services and host subscriber features.
Scaling such centralized VoIP systems (e.g., to meet increasing numbers of subscribers and/or service requests) is expensive, and there is an upper limit on the number of subscribers and/or service requests that a centralized VoIP system can accommodate. As the upper limit is approached (e.g., where the centralized VoIP servers are over eighty percent utilized), performance of the VoIP system degrades in a non-linear fashion. To address this, a second centralized VoIP system may be added to the original centralized VoIP system, even though the original VoIP system may have twenty percent of its resources available and the second VoIP system may be underutilized. Such an approach is expensive and wastes resources. In addition to the scalability issues, a core network infrastructure must also be upgraded to handle excessive traffic due to the increase in service requests. Furthermore, a centralized VoIP system often experiences delay and bandwidth constraints when satisfying service requirements. For example, long backhaul times and/or long queuing times associated with reaching the centralized servers may make service impossible to implement.